import {serverGet, serverPost} from "@/utils/request" import {DollarSign, MapPin, Phone, Tag, User, Users} from "lucide-react" import Link from "next/link" import {Breadcrumb} from "antd"; export const dynamicParams = true export async function generateStaticParams() { const res = await serverPost, { pageNum: number; pageSize: number }>( "webSite/getRecruitmentInfoByPage", { pageNum: 1, pageSize: 20 } ) return res.data.records.map((item) => ({ id: item.id, })) } export default async function RecruitmentDetailPage({ params, }: { params: Promise<{ id: string }> }) { const { id } = await params const detail = await serverGet( "webSite/getRecruitmentInfoById", { id } ) if (!detail) { return (
暂无该岗位信息
) } return ( <>
您当前的所在位置:
{/* 卡片 */}
{/* 蓝色渐变背景 */}
{/* 标题 */}

{detail.data.jobOpenings}

{/* 信息列表 */}
} label="工作地址" value={detail.data.workLocation}/> } label="招聘人数" value={detail.data.numberRecruits}/> } label="薪资" value={detail.data.salary}/> } label="联系人" value={detail.data.contact}/> } label="联系方式" value={detail.data.contactInformation}/> {detail.data.keyTerms && ( } label="关键词" value={detail.data.keyTerms}/> )}
{/* 岗位描述 */}

岗位要求

{detail.data.jobRequirements}

{/* 备注:独立框,空时不渲染 */} {detail.data.remarks?.trim() && (

{detail.data.remarks}

)} {/* 返回按钮 */}
返回招聘列表
) } // 信息展示子组件 function InfoItem({icon, label, value}: { icon: React.ReactNode; label: string; value: any }) { return (
{icon}

{label}

{value}

) }